package cn.zhx.domain.award.respository;

import cn.zhx.domain.award.model.aggregate.GiveOutPrizesAggregate;
import cn.zhx.domain.award.model.aggregate.UserAwardRecordAggregate;


/**
 * @Author: zhx
 * @Date: 2024/07/18
 * @Description:
 **/

public interface IAwardRepository {

    /**
     * 保存用户抽奖记录
     * @param userAwardRecordAggregate 用户中奖记录聚合对象
     */
    void saveUserAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate);

    /**
     * 查询奖品配置
     * @param awardId 奖品ID
     * @return 奖品配置
     */
    String queryAwardConfig(Integer awardId);

    /**
     * 存储发奖对象
     * @param giveOutPrizesAggregate  发放奖品聚合对象
     */
    void saveGiveOutPrizesAggregate(GiveOutPrizesAggregate giveOutPrizesAggregate);

    /**
     * 查询奖品KEY
     * @param awardId 奖品id
     * @return 奖品KEY
     */
    String queryAwardKey(Integer awardId);
}
